#ifndef __DKGL_BEZIER_H__
#define __DKGL_BEZIER_H__

#include "dkglObject.h"

namespace DKGL
{

class CubicBezierCurve : public LineStrip
{
public:
	CubicBezierCurve();
	CubicBezierCurve(const Vector3&, const Vector3&, const Vector3&, const Vector3&);
	CubicBezierCurve(const CubicBezierCurve&);
	virtual ~CubicBezierCurve();

	//virtual void drawEntity();
	void setResolution(int res);
	Vector3 paramVal(float t);

	void setCtrlPt(Vector3*);

	void setCtrlPt1(const Vector3&);
	void setCtrlPt2(const Vector3&);
	void setCtrlPt3(const Vector3&);
	void setCtrlPt4(const Vector3&);

	inline Vector3 getCtrlPt(int i) const
	{return mCtrlPt[i];};


protected:
	void _updateVertBuf();
	Vector3 mCtrlPt[4];
	int mResolution;

};

}

#endif